﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DevExpress.Xpo;
using Zero.DataLayer.Donnees.Tarifs;
using Zero.POCO.Compagne;

namespace Zero.DataLayer.Donnees
{
    public class XpoPlanRadio: XPBaseObject
    {
          public XpoPlanRadio()
            : base()
        {
            // This constructor is used when an object is loaded from a persistent storage.
            // Do not place any code here.
        }

          public XpoPlanRadio(Session session)
            : base(session)
        {
            // This constructor is used when an object is loaded from a persistent storage.
            // Do not place any code here.
        }


        private Guid _Oid;
        [Key]
         public Guid Oid
        {
            get { return _Oid; }
            set { SetPropertyValue("Oid", ref _Oid, value); }
        }



        private string _Name;
        public string Name
        {
            get { return _Name; }
            set { SetPropertyValue("Name", ref _Name, value); }
        }


        private int _NombreSig;
        public int NombreSig
        {
            get { return _NombreSig; }
            set { SetPropertyValue("NombreSig", ref _NombreSig, value); }
        }


        private XpoCompaign _Compaign;
        [Aggregated, Association("XpoCompaign-PlanRadios")]
        public XpoCompaign Compaign
        {
            get { return _Compaign; }
            set { SetPropertyValue("Compaign", ref _Compaign, value); }
        }

        [Association("XpoPlanRadio-Signalitique")]
        public XPCollection<Signalitique> Signalitiques
        {
            get { return GetCollection<Signalitique>("Signalitiques"); }
        }



        [Aggregated, Association("XpoPlanRadio-XpoInsertionRadio")]
        public XPCollection<XpoInsertionRadio> XpoInsertionRadios
        {
            get { return GetCollection<XpoInsertionRadio>("XpoInsertionRadios"); }
        }

        [Aggregated, Association("XpoPlanRadio-XpoMapSupportTarifRd")]
        public XPCollection<XpoMapSupportTarifRd> XpoMapSupportTarifRds
        {
            get { return GetCollection<XpoMapSupportTarifRd>("XpoMapSupportTarifRds"); }
        }
    }




    public class XpoMapSupportTarifRd : XPBaseObject
    {
        public XpoMapSupportTarifRd()
            : base()
        {
            // This constructor is used when an object is loaded from a persistent storage.
            // Do not place any code here.
        }

        public XpoMapSupportTarifRd(Session session)
            : base(session)
        {
            // This constructor is used when an object is loaded from a persistent storage.
            // Do not place any code here.
        }


        private Guid _Oid;

        [Key]
        public Guid Oid
        {
            get { return _Oid; }
            set { SetPropertyValue("Oid", ref _Oid, value); }
        }


        private XpoSupportRadio _supportRadio;
        [Association("XpoMapSupportTarifRd -XpoSupportRadio")]
        public XpoSupportRadio supportRadio
        {
            get { return _supportRadio; }
            set { SetPropertyValue("supportRadio", ref _supportRadio, value); }
        }





        private XpoTarifRd _TarifRd;
        [Association("XpoMapSupportTarifRd -XpoTarifRd")]
        public XpoTarifRd TarifRd
        {
            get { return _TarifRd; }
            set { SetPropertyValue("tarifRd", ref _TarifRd, value); }
        }



        private XpoPlanRadio _planRadio;
        [Aggregated, Association("XpoPlanRadio-XpoMapSupportTarifRd")]
        public XpoPlanRadio planRadio
        {
            get { return _planRadio; }
            set { SetPropertyValue("planRadio", ref _planRadio, value); }
        }
    }
}
